home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-178 < prev    next >
Text File  |  1988-12-01  |  40KB  |  1,240 lines

  1.      IEN 178                                                April 1981
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                ADDRESSING PROBLEMS IN MULTI-NETWORK SYSTEMS
  10.  
  11.                              Carl A. Sunshine
  12.  
  13.                      University of Southern California
  14.                       Information Sciences Institute
  15.                             4676 Admiralty Way
  16.                          Marina del Rey, CA 90291
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.      Abstract
  25.  
  26.              To allow uers in different  networks  to communicate with
  27.         each other,  development  of powerful  yet  practical  naming,
  28.         addressing,   and  routing  facilities  is  essential.   Basic
  29.         procedures for multi-network systems under control of a single
  30.         organization  have begun  to be used,  but a large set of more
  31.         sophisticated  goals  remain  to  be  addressed.   This  paper
  32.         describes  several  of these more advanced  problems including
  33.         extendability,   multihoming,   network  partitioning,  mobile
  34.         hosts, shared access, local site connections, gateway routing,
  35.         and overcoming differences in heterogeneous systems.
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.      Note:
  47.  
  48.              There are three figures  associated  with  this  document
  49.         which  may be obtained from the author by sending a message to
  50.         <SUNSHINE@ISIF>.
  51.  
  52.  
  53.                                     -1-
  54.  
  55.  
  56.      Introduction
  57.  
  58.              The interconnection  of multiple  computer networks makes
  59.  
  60.         it possible  for ever wider communities  of computer users and
  61.  
  62.         applications  to interact  with each other.   A basic  set  of
  63.  
  64.         problems   that  must  be   solved   in   accomplishing   such
  65.  
  66.         interconnections  concerns  providing  naming, addressing, and
  67.  
  68.         routing   procedures  that  are  general  and  convenient  yet
  69.  
  70.         practical.   These problems  are particularly  difficult  when
  71.  
  72.         networks of different designs and/or operating under different
  73.  
  74.         authorities must be interconnected.
  75.  
  76.              Current  multi-network  systems are fairly small (tens of
  77.  
  78.         networks maximum) and largely designed by and under control of
  79.  
  80.         a single  organization.   (We shall  call  this  "homogeneous"
  81.  
  82.         internetworking.)    Basic  interconnection  is  supported  by
  83.  
  84.         simple hierarchical addressing and routing procedures employed
  85.  
  86.         uniformly throughout the system [1,4,10,13].  Interconnections
  87.  
  88.         of    different     multi-network    systems    (heterogeneous
  89.  
  90.         internetworking)  are just beginning to be made, largely by ad
  91.  
  92.         hoc means.
  93.  
  94.              Thus,  while some of the basic problems have been solved,
  95.  
  96.         a large set of secondary problems will soon be upon us.  These
  97.  
  98.         include problems of scale (current methods are impractical for
  99.  
  100.         systems  with hundreds  or thousands  of networks); supporting
  101.  
  102.         more sophisticated  functions  such  as  multihoming,  network
  103.  
  104.  
  105.                                     -2-
  106.  
  107.  
  108.         partitioning,  mobile hosts, and shared access; and overcoming
  109.  
  110.         the different procedures in heterogeneous systems.
  111.  
  112.              This  paper  describes   several   of  these  interesting
  113.  
  114.         problems,  and discusses potential solutions.  The emphasis is
  115.  
  116.         on developing  a feel for the range of problems  and solutions
  117.  
  118.         rather  than on  detailed  or  formal  treatment  of  any  one
  119.  
  120.         problem.  In many cases it will be clear that further research
  121.  
  122.         is needed  to clarify  the problems or to develop and evaluate
  123.  
  124.         better solutions.
  125.  
  126.  
  127.      Hierarchical Methods
  128.  
  129.              A basic approach  to  addressing  and  routing  in  large
  130.  
  131.         systems  is to use hierarchical methods.  These methods can be
  132.  
  133.         applied  at various  levels  (e.g.,  within networks and among
  134.  
  135.         networks).   We give a brief summary  of the basic  principles
  136.  
  137.         involved since these form the background for many of the other
  138.  
  139.         problems.
  140.  
  141.              As the number  of subscribers  or  "hosts"  in  a  single
  142.  
  143.         network  increases, it becomes desirable to introduce a number
  144.  
  145.         of switches,  each serving  a  subset  of  the  hosts.   These
  146.  
  147.         switches  must maintain  routing  tables  which give the  best
  148.  
  149.         outgoing  link (or set of links)  for  any  destination.   The
  150.  
  151.         tables  are used to forward  incoming  packets properly toward
  152.  
  153.         their destination.   In datagram  networks, a routing decision
  154.  
  155.         based on final destination  is made for every packet, while in
  156.  
  157.         virtual  circuit  nets only the initial  call  request  packet
  158.  
  159.  
  160.                                     -3-
  161.  
  162.  
  163.         requires  the full routing  decision  (subsequent packets of a
  164.  
  165.         call are forwarded over fixed routes kept in other tables).
  166.  
  167.              If every switch  maintained routing information for every
  168.  
  169.         destination individually, the routing tables would become very
  170.  
  171.         large.   A standard  approach  is  to  introduce  hierarchical
  172.  
  173.         addressing, where each host is assigned a particular port on a
  174.  
  175.         particular  switch, and hence addresses take the form <switch,
  176.  
  177.         port>.   Then routing  may  also  be  done  hierarchically  by
  178.  
  179.         sending  all packets  destined to a given switch over the same
  180.  
  181.         route, ignoring the "low order" portion of the address.  Hence
  182.  
  183.         each switch  need only  maintain  routes  to  other  switches,
  184.  
  185.         greatly  reducing  the number  of different  destinations, and
  186.  
  187.         hence entries, in the routing tables.
  188.  
  189.              Note that hierarchical  routing  is one major  motivation
  190.  
  191.         for  introducing   hierarchical   addresses,   but  these  two
  192.  
  193.         techniques  do not necessarily  go together  as we  shall  see
  194.  
  195.         below.  Another reason for hierarchical addresses is simply to
  196.  
  197.         distribute  the authority  for assigning  addresses  within  a
  198.  
  199.         large system [14].
  200.  
  201.              The same techniques  may  be  extended  to  multi-network
  202.  
  203.         systems by adding another level to the addressing hierarchy so
  204.  
  205.         that addresses  take  the  form  <net,  switch,  port>.   With
  206.  
  207.         hierarchical   routing,   packets  are  first  routed  to  the
  208.  
  209.         destination  network,  ignoring the rest of their address, and
  210.  
  211.         then routed  within  the final network as above.  This form of
  212.  
  213.  
  214.                                     -4-
  215.  
  216.  
  217.         hierarchical  addressing has been adopted by the public packet
  218.  
  219.         switching  networks  in CCITT  Recommendation  X.121,  and  it
  220.  
  221.         appears  that most public  networks intend to use hierarchical
  222.  
  223.         routing as well [13,19].
  224.  
  225.              The reduction  of routing  table  size  that  accompanies
  226.  
  227.         hierarchical  routing has its price.  The resulting routes may
  228.  
  229.         not always  be optimal.   If there  are two ways  to  reach  a
  230.  
  231.         remote  network  (as is often the case), one may be better for
  232.  
  233.         some hosts within  that network and the other for other hosts.
  234.  
  235.         But there  is by design  no way to determine this from a local
  236.  
  237.         routing  table which carries  a single  entry for  the  entire
  238.  
  239.         remote  network.   An even more serious  consequence of strict
  240.  
  241.         hierarchical routing is discussed in the next section.
  242.  
  243.              To avoid these problems,  routing  decisions may based on
  244.  
  245.         more of the address  where desirable  [5,14].  For example, an
  246.  
  247.         internetwork routing table could be augmented with entries for
  248.  
  249.         individual   switches  receiving  high  traffic  in  a  remote
  250.  
  251.         network,  while other switches in that network were covered by
  252.  
  253.         a single  network  level entry.   This leads  to  a  selective
  254.  
  255.         increase  in the size of  routing  tables,  and  requires  the
  256.  
  257.         ability  to search  the tables for variable length portions of
  258.  
  259.         addresses and to update tables with varying levels of detail.
  260.  
  261.  
  262.      Network Partitions
  263.  
  264.              A network  is said to be partitioned  when  enough  links
  265.  
  266.         and/or  switches fail so that two or more subsets of its hosts
  267.  
  268.  
  269.                                     -5-
  270.  
  271.  
  272.         are formed  which cannot  communicate  with each other.  In an
  273.  
  274.         isolated  network  there is no remedy for this situation until
  275.  
  276.         sufficient  repairs  are made to restore connectivity.  But if
  277.  
  278.         the partitioned  net is part of a multi-network  system, there
  279.  
  280.         may be paths  through  other  nets  which  could  connect  the
  281.  
  282.         partitions.   Unfortunately,  these paths are not used  within
  283.  
  284.         the strictly  hierarchical routing procedures described above.
  285.  
  286.         And even if a  "local"  packet  were  sent  to  a  neighboring
  287.  
  288.         network by a switch, it would likely be routed right back into
  289.  
  290.         the same paritition by the other network.
  291.  
  292.              This last point indicates another difficulty.  Traffic in
  293.  
  294.         a remote  network  destined  for the partitioned  net will  be
  295.  
  296.         routed  into one or the other partition  without consideration
  297.  
  298.         of its within-network  switch.   (Remember that other networks
  299.  
  300.         see a single  best route  to  this  network  considered  as  a
  301.  
  302.         whole.)   For  some  destinations,  this  will  be  the  wrong
  303.  
  304.         partition  and the destination will be unreachable by internal
  305.  
  306.         routes,  leading to failure to deliver packets routed that way
  307.  
  308.         from remote nets [14,16].
  309.  
  310.              One solution  to this problem  is to configure the system
  311.  
  312.         with sufficient  robustness that partitions occur very rarely,
  313.  
  314.         and to simply  tolerate  the above delivery problems when they
  315.  
  316.         occur.   This may be satisfactory for commercial systems where
  317.  
  318.         loads and outages are fairly predictable.
  319.  
  320.              In  military   systems  where  numerous  disruptions  are
  321.  
  322.  
  323.                                     -6-
  324.  
  325.  
  326.         anticipated,  some means  of  forcing  use  of  any  available
  327.  
  328.         connectivity  is desirable  [3].  One approach is to treat the
  329.  
  330.         number  of networks as dynamic, and turn a partitioned network
  331.  
  332.         into  two  networks,   each  of  which   can  be  an  explicit
  333.  
  334.         destination.  This requires rather complex methods of updating
  335.  
  336.         each network's  view of the overall  topology, and promulgates
  337.  
  338.         knowledge  of a partition in one network to all other networks
  339.  
  340.         [8].   Another  approach  might be to return  a special  error
  341.  
  342.         message to the neighboring router forcing it to choose another
  343.  
  344.         entry    point    to     the     failed     network.      This
  345.  
  346.         backup-and-try-alternate  method has been implemented for call
  347.  
  348.         setup in Telenet [19].
  349.  
  350.  
  351.      "Fast Track" Routing
  352.  
  353.              It is not  only  in  case  of  catastrophic  events  like
  354.  
  355.         partitioning  that use of external  routes  between two points
  356.  
  357.         within  the same region  may be desirable.   If  two  networks
  358.  
  359.         cover   the   same   geographical    area,   for   example   a
  360.  
  361.         store-and-forward  ground  net and a broadcast  satellite net,
  362.  
  363.         performance  for some types of  traffic  may  be  improved  by
  364.  
  365.         exiting  the ground  net near the source,  going  through  the
  366.  
  367.         satellite  net,  and returning  to the  ground  net  near  the
  368.  
  369.         destination.    File  transfer  traffic  might  obtain  higher
  370.  
  371.         throughput in this fashion, for example.
  372.  
  373.              To accomplish this, it is once again necessary to violate
  374.  
  375.         hierarchical  routing.   Either the network level routing must
  376.  
  377.  
  378.                                     -7-
  379.  
  380.  
  381.         distinguish  between destinations best reached directly within
  382.  
  383.         the network  and those  best reached  by going outside, or the
  384.  
  385.         within-network  level must be made to view paths through other
  386.  
  387.         networks  as a special kind of internal link that is available
  388.  
  389.         [9].   But in the latter  case,  the network level path status
  390.  
  391.         information  must be brought  into the  internal  link  status
  392.  
  393.         maintenance procedures, probably a messy business.
  394.  
  395.  
  396.      Multihoming
  397.  
  398.              A subscriber  may want to have multiple  connections to a
  399.  
  400.         communication  system  for reliability or performance reasons.
  401.  
  402.         In the simplest  case,  several independent physical lines may
  403.  
  404.         be  managed  as  one  logical  data  link  to  obtain  greater
  405.  
  406.         reliability,  higher  throughput,  or lower cost (due  to  the
  407.  
  408.         idiosyncracies  of carrier  tariffs).   Several such multiline
  409.  
  410.         procedures  have been developed,  for example in Transpac, and
  411.  
  412.         in X.75.   The subscriber  still  has a single address, and no
  413.  
  414.         further complications are involved.
  415.  
  416.              In order to protect against node failures as well as line
  417.  
  418.         failures,  lines to different  switches must be used.  In this
  419.  
  420.         case the user has two  (or  more)  different  addresses.   The
  421.  
  422.         multiple  addresses  may  be  at  any  level  in  the  address
  423.  
  424.         hierarchy:  (e.g. two addresses within a network, or connected
  425.  
  426.         to two different  nets).   Multiple  lines  may  also  provide
  427.  
  428.         better performance by connecting directly to highly used areas
  429.  
  430.  
  431.                                     -8-
  432.  
  433.  
  434.         of the  system  and  thus  avoiding  extra  hops  through  the
  435.  
  436.         network.
  437.  
  438.              In order  to obtain  these  benefits,  the ability to use
  439.  
  440.         both addresses  and to select  the optimal address must exist.
  441.  
  442.         This may be accomplished  by the source  explicitly  selecting
  443.  
  444.         one address.   But this requires the source to know that there
  445.  
  446.         are multiple  addresses for a given destination, to select the
  447.  
  448.         best address  for performance,  and to switch  to an alternate
  449.  
  450.         after a failure.   These admittedly  weighty  burdens could be
  451.  
  452.         aided by a remote directory/routing service.
  453.  
  454.              Alternatively,   the  packet  could  carry  the  multiple
  455.  
  456.         addresses explicitly, allowing each switch to pick the best of
  457.  
  458.         the best routes  for each address.   This of  course  adds  to
  459.  
  460.         packet length and routing processing load.
  461.  
  462.              Instead  of carrying  the multiple  addresses, the packet
  463.  
  464.         might carry the name (or "logical address") of the destination
  465.  
  466.         [14],  leaving  it for the switches  to lookup  and select the
  467.  
  468.         best  address   at  each  point.   This  would  reduce  packet
  469.  
  470.         complexity,  but increase  the switch  processing demands even
  471.  
  472.         further.
  473.  
  474.              Thus we have a spectrum  from high source  effort to high
  475.  
  476.         network  effort  in making  use  of  multiple  addresses.   In
  477.  
  478.         datagram  nets it is probably  impractical  to require complex
  479.  
  480.         processing  of the address  on every packet,  so  more  source
  481.  
  482.         effort  will probably  be required.  In virtual circuit nets a
  483.  
  484.  
  485.                                     -9-
  486.  
  487.  
  488.         greater  amount  of effort  can be expended  by the net on the
  489.  
  490.         call setup request.   Some public  nets are already  providing
  491.  
  492.         call forwarding  facilities where a call to one inoperative or
  493.  
  494.         busy address  will automatically  be forwarded to an alternate
  495.  
  496.         address.
  497.  
  498.              There  are problems  at the destination  as well  as  the
  499.  
  500.         source.    To  obtain   the  benefits   of  multihoming,   the
  501.  
  502.         destination   must  be  willing   to  accept  traffic  on  all
  503.  
  504.         addresses.   In virtual  circuit  nets,  all the traffic for a
  505.  
  506.         given  call must flow over the same line,  so a failure during
  507.  
  508.         the call cannot  be recovered  by using an alternate  address.
  509.  
  510.         The call must be cleared with possible loss of data, and a new
  511.  
  512.         one requested.
  513.  
  514.              Even in some datagram  nets,  higher  level protocols are
  515.  
  516.         sensitive  to the addresses of the local and remote hosts [3].
  517.  
  518.         The source  address is used to demultiplex incoming packets to
  519.  
  520.         the proper  "connection," and packets coming from an alternate
  521.  
  522.         address  from that used to establish  the connection would not
  523.  
  524.         be recognized  properly.   To avoid this problem, the (single)
  525.  
  526.         name of the source could be used in the connection tables, but
  527.  
  528.         this would have to be carried  in the packet.   Alternatively,
  529.  
  530.         the multiple  remote  addresses could be stored as part of the
  531.  
  532.         connection table so that a packet specifying any one as source
  533.  
  534.         would match properly.   These multiple addresses would have to
  535.  
  536.         be supplied as part of the connection establishment, and might
  537.  
  538.  
  539.                                    -10-
  540.  
  541.  
  542.         be profitably  used in sending traffic if the original address
  543.  
  544.         failed.
  545.  
  546.  
  547.      Mobile Hosts
  548.  
  549.              Mobile  hosts represent  a special  case of the  multiple
  550.  
  551.         address  problem.   Of course all hosts are technically mobile
  552.  
  553.         in the sense that they occasionally  change  their address due
  554.  
  555.         to reconfiguration  and movement within the user organization,
  556.  
  557.         or modifications  to the network  topology.   Hence  directory
  558.  
  559.         information  to associate  the name of a host with its current
  560.  
  561.         address  is available  in most systems,  either locally or via
  562.  
  563.         some remote server.
  564.  
  565.              However,   the  problem  of  changing  addresses  becomes
  566.  
  567.         qualitatively  different  when the host is expected  to change
  568.  
  569.         its network  attachment point frequently, even in the midst of
  570.  
  571.         previously  established  connections.  Special dynamic routing
  572.  
  573.         and addressing procedures have been developed for ground based
  574.  
  575.         mobile  hosts communicating  via packet  radio within a single
  576.  
  577.         network  [6].   As distances are increased and this technology
  578.  
  579.         is transferred  to airplanes,  crossing network boundaries may
  580.  
  581.         also be anticipated.
  582.  
  583.              One method  for  "tracking"  mobile  hosts  would  be  to
  584.  
  585.         maintain  a specialized  database  of their current  locations
  586.  
  587.         (perhaps  replicated  for  reliability),  as  is  done  within
  588.  
  589.         individual  packet  radio nets (by the "station").  The mobile
  590.  
  591.         hosts would send updates to this database as needed, and users
  592.  
  593.  
  594.                                    -11-
  595.  
  596.  
  597.         wishing  to establish  communication  could query the database
  598.  
  599.         much as any other directory  service.  However, they should be
  600.  
  601.         prepared  to receive  frequent address change notifications in
  602.  
  603.         the course  of a  connection,  either  from  the  mobile  host
  604.  
  605.         itself,  alternate  relay points,  or the  database.   Further
  606.  
  607.         details of such a scheme may be found in [18].
  608.  
  609.              Assuming traffic reaches them, destinations must still be
  610.  
  611.         "desensitized" from the particular source address as discussed
  612.  
  613.         above,  since  this will change.  But there is no fixed set of
  614.  
  615.         alternates  to exchange at connection setup time in this case,
  616.  
  617.         so packets  probably  must carry a unique identifier (name) of
  618.  
  619.         the source  as well as its current  address.   For reliability
  620.  
  621.         purposes,  they should  probably  also carry the name  of  the
  622.  
  623.         destination  in case it  is  no  longer  associated  with  the
  624.  
  625.         address they reach.
  626.  
  627.              Mobile hosts may have multiple addresses at one moment as
  628.  
  629.         well as at different  times  (e.g.,  an  aircraft  may  be  in
  630.  
  631.         contact  with two radio nets).   Thus it becomes apparent that
  632.  
  633.         problems  can interact  with each other, making solutions more
  634.  
  635.         difficult.
  636.  
  637.  
  638.      Sharing Network Access
  639.  
  640.              The opposite  problem  to one host having  several access
  641.  
  642.         lines  to the net is several  hosts  sharing  a single  access
  643.  
  644.         line.   This may be desirable  where the number  of  physiscal
  645.  
  646.         interfaces  or ports  to the network is limited, or to share a
  647.  
  648.  
  649.                                    -12-
  650.  
  651.  
  652.         long access  line among nearby  subscribers.   Public networks
  653.  
  654.         provide  multidrop interfaces for terminal traffic (X.28), but
  655.  
  656.         not for packet mode traffic (X.25).  For packet level devices,
  657.  
  658.         the alternative  to providing  a fixed and  hence  inefficient
  659.  
  660.         frequency  or time division  multiplexor  must be some sort of
  661.  
  662.         "intelligent"  multiplexor  functioning at the packet level of
  663.  
  664.         network access protocols.
  665.  
  666.              Broadcast   networks  (e.g.,  Ethernets  and  ring  nets)
  667.  
  668.         inherently provide this capability since every interface hears
  669.  
  670.         all traffic.   Each interface  is  responsible  for  accepting
  671.  
  672.         appropriate  traffic,  and can sometimes  be set to  intercept
  673.  
  674.         traffic for multiple addresses.
  675.  
  676.              Another  approach is to use a higher level of protocol to
  677.  
  678.         provide  the necessary  demultiplexing.   The  Arpanet  access
  679.  
  680.         (Host-IMP)  protocol does not allow for shared interfaces, and
  681.  
  682.         the limitation  of 4 host interfaces  on the original IMPs has
  683.  
  684.         proved  troublesome in some cases.  The Internet Protocol (IP)
  685.  
  686.         is the next level above particular network access protocols in
  687.  
  688.         the ARPA hierarchy  [10,11].   IP addresses  are  sufficiently
  689.  
  690.         long to support  multiple "logical" hosts at the same physical
  691.  
  692.         host port on the Arpanet.   The Host-IMP  header indicates the
  693.  
  694.         same physical  host address  for all  such  packets,  and  the
  695.  
  696.         higher  level IP module  at the destination  demultiplexes the
  697.  
  698.         packets to the correct logical host.  An independent device to
  699.  
  700.         perform  this function  has  been developed based on PDP-11/03
  701.  
  702.  
  703.                                    -13-
  704.  
  705.  
  706.         hardware.   This "port expander"  effectively  turns each  IMP
  707.  
  708.         port into 4-8 ports for hosts that use the  Internet  Protocol
  709.  
  710.         [7].
  711.  
  712.  
  713.      Networks vs. Gateways as Switches
  714.  
  715.              In most models  of  hierarchical  routing,  networks  are
  716.  
  717.         assumed  to function  as "super-switches,"  just as  switching
  718.  
  719.         nodes do within  one network.   This view would  be  literally
  720.  
  721.         true if there  were a single  internet  switching node in each
  722.  
  723.         net to which all incoming  traffic from other nets was routed,
  724.  
  725.         and which then forwarded  the traffic to another network or to
  726.  
  727.         a  local   host.    Figure  X  shows  a  small  example  of  a
  728.  
  729.         multi-network    system   and   a   routing   table   at   one
  730.  
  731.         network/switch.   The routing table gives the cost in internet
  732.  
  733.         hops and the best neighbor  net to use  to  reach  each  other
  734.  
  735.         network in the system.
  736.  
  737.              For  efficiency,  this  internet  switching  function  is
  738.  
  739.         usually  distributed  to processors  called "gateways" serving
  740.  
  741.         each of the internet links.  Instead of being sent through the
  742.  
  743.         net to some central  point, the internet traffic can be routed
  744.  
  745.         immediately  at its entry point to the best exit point (either
  746.  
  747.         another  gateway or the destination host).  Figure Y shows the
  748.  
  749.         same internet  system  with  internet  links  labeled,  and  a
  750.  
  751.         routing  table at the gateway  located  on one incoming  link.
  752.  
  753.         Since  the gateway  must send packets  across  its  net  to  a
  754.  
  755.  
  756.                                    -14-
  757.  
  758.  
  759.         particular outgoing link, the routing table now shows the name
  760.  
  761.         of this next link rather than the next net.
  762.  
  763.              Another  step in  this  progression  leads  to  a  single
  764.  
  765.         gateway  located  in the "middle" of each internet link rather
  766.  
  767.         than two separate  processors  in each net.  The gateways take
  768.  
  769.         on  the  identity   of  their  internet   link(s).    In  this
  770.  
  771.         configuration,  it is more realistic to count the network hops
  772.  
  773.         as the cost fucntion  rather  than the internet  links.  Hence
  774.  
  775.         each gateway  is maintaining  a  distance  (in  network  hops)
  776.  
  777.         between  gateways,  and a best next gateway  to use  for  each
  778.  
  779.         destination.    In  this  model,  the  gateways  may  be  more
  780.  
  781.         realistically  viewed as the switching nodes, and the networks
  782.  
  783.         as the links connecting them.  This is essentially the dual of
  784.  
  785.         the earlier  model as shown in Figure Z.  But the destinations
  786.  
  787.         in the routing table are networks, not gateways, making this a
  788.  
  789.         curious  sort of hybrid  scheme.  Hence it is not clear how to
  790.  
  791.         apply the "link state"  type of  routing  procedures  used  in
  792.  
  793.         single  networks  (e.g.,  the Arpanet)  to this  multi-network
  794.  
  795.         configuration with gateways as switching nodes.
  796.  
  797.  
  798.      Local Site Connections
  799.  
  800.              Many sites  start  with a  single  host  connected  to  a
  801.  
  802.         long-haul  net.   As the site develops,  a few more hosts  are
  803.  
  804.         connected,  also directly  to the long-haul  switch.   As even
  805.  
  806.         more hosts  want to join the net at that site, problems result
  807.  
  808.         from costly  or inefficient  use of network access procedures.
  809.  
  810.  
  811.                                    -15-
  812.  
  813.  
  814.         Some sort of port expander  or intelligent multiplexor devices
  815.  
  816.         as discussed above become attractive.
  817.  
  818.              This addresses  the network  connection  problem, but not
  819.  
  820.         the local traffic requirements which are also growing, and may
  821.  
  822.         easily  exceed traffic to remote sites.  The network switch is
  823.  
  824.         handling  a lot of traffic that never goes any further through
  825.  
  826.         the net.   In some cases  the port expanders may be capable of
  827.  
  828.         local switching, forming a rudimentary local net.
  829.  
  830.              To handle  local traffic  more efficiently,  an  explicit
  831.  
  832.         local  net may be desirable.   A question  then arises  as  to
  833.  
  834.         whether this net should be "known" to the rest of the internet
  835.  
  836.         system,  and connected  to it via  one  or  more  full-fledged
  837.  
  838.         gateways,  or whether it should be "invisible" at the internet
  839.  
  840.         level with its  hosts  appearing  as  if  they  were  directly
  841.  
  842.         connected  to the long-haul  net.   In the first  case,  local
  843.  
  844.         hosts have internet  addresses on an explicit local net, while
  845.  
  846.         in the second they have addresses on the long-haul net.
  847.  
  848.              The explicit  local net approach  has certain  advantages
  849.  
  850.         stemming  from the explicit  identification  of the  group  of
  851.  
  852.         hosts  at a site as a network.  If the site is connectected to
  853.  
  854.         two or more other nets,  then the internet  routing mechansims
  855.  
  856.         will automatically  choose  the best path to the local  hosts,
  857.  
  858.         which have only a single address (on their local net).
  859.  
  860.              However,  this participation  at the internet  level  can
  861.  
  862.         also be a problem.   As the number  of sites  with local  nets
  863.  
  864.  
  865.                                    -16-
  866.  
  867.  
  868.         increases,  so will the number  of nets and hence  the size of
  869.  
  870.         the routing  tables  and updates  which must be propagated all
  871.  
  872.         over the internet  system.   If the growth continues at a site
  873.  
  874.         so that there are several  local  nets  connected  by  "local"
  875.  
  876.         gateways,  should  all of these nets and the local topology be
  877.  
  878.         known throughout  the internet system?  At some point treating
  879.  
  880.         local  nets on a par with long-haul  or backbone  nets  breaks
  881.  
  882.         down.
  883.  
  884.              The invisible  local net approach,  on  the  other  hand,
  885.  
  886.         avoids  problems  of proliferating  networks  at the  internet
  887.  
  888.         level.   Many port expander  or local distribution systems can
  889.  
  890.         perform   an  internal   switching   function,  relieving  the
  891.  
  892.         long-haul  net switch  of handling  local traffic.   But sites
  893.  
  894.         with connections  to two  or  more  nets  will  have  multiple
  895.  
  896.         addresses  for their hosts (one for each net the hosts  appear
  897.  
  898.         "directly" connected to), and this causes some difficulties as
  899.  
  900.         discussed above under Multihoming.
  901.  
  902.              The best solution  to this tradeoff is not clear.  Adding
  903.  
  904.         an additional  level to the  addressing  hierarchy  may  be  a
  905.  
  906.         temporary solution, but it, too, will become strained in time.
  907.  
  908.         This suggests  allowing  a variable  number  of levels  in the
  909.  
  910.         addressing   hierarchy,   adding   new  levels  as  complexity
  911.  
  912.         increases  in some area.  But this imposes a rigid ordering of
  913.  
  914.         levels  and hence  routing,  while  in  reality  "higher"  and
  915.  
  916.         "lower"  may depend  on the viewpoint  of the  user.   Further
  917.  
  918.  
  919.                                    -17-
  920.  
  921.  
  922.         research  is needed on how internet systems may grow and still
  923.  
  924.         maintain efficient addressing and routing procedures.
  925.  
  926.  
  927.      Multiple Domains
  928.  
  929.              Most of the previous  discussion  has  assumed  a  single
  930.  
  931.         compatible  "domain"  in which network  addressing and routing
  932.  
  933.         procedures  are carried  out uniformly.   In the real world we
  934.  
  935.         have already  seen the growth  of several  large domains  with
  936.  
  937.         different    conventions,    including    public,    mainframe
  938.  
  939.         manufacturer,  Defense  Department, and local networks.  It is
  940.  
  941.         unrealistic  and perhaps  impossible that these diverse groups
  942.  
  943.         will ever adopt  a single  addressing  scheme, so we must live
  944.  
  945.         with the problem  of  multiple  domains  for  the  foreseeable
  946.  
  947.         future.
  948.  
  949.              One approach  is to assume  that one domain will make use
  950.  
  951.         of  another   merely  as  transport  medium  between  its  own
  952.  
  953.         homogeneous components.  The used system appears merely as one
  954.  
  955.         of several types of media that the using system can employ via
  956.  
  957.         appropriate access protocols.  The using system's packets will
  958.  
  959.         be "encapsulated"  in the used system's  protocols.  Of course
  960.  
  961.         the  two  domains  can  make  use  of  each  other,  achieving
  962.  
  963.         coexistence,   if  not  complete  interoperation,  by  "mutual
  964.  
  965.         encapsulation" [15].
  966.  
  967.              To achieve  full interoperability  between  heterogeneous
  968.  
  969.         systems,  each system  must recognize  the hosts on the other.
  970.  
  971.  
  972.                                    -18-
  973.  
  974.  
  975.         Two basic choices are possible for crossing domain boundaries:
  976.  
  977.         mapping and source routing.
  978.  
  979.              In the mapping  approach,  each domain  provides a set of
  980.  
  981.         otherwise   unused   internal   addresses  which  it  maps  to
  982.  
  983.         particular  addresses  in other domains.  Traffic addressed to
  984.  
  985.         one of these "pseudo-addresses"  is routed  to an interface or
  986.  
  987.         gateway  to the appropriate  other domain,  at which point the
  988.  
  989.         pseudo-address  is converted  into an  address  in  the  other
  990.  
  991.         domain.   In the simplest  case,  this requires only bilateral
  992.  
  993.         agreements between domains, but it may also be extended across
  994.  
  995.         intermediaries with further collaboration.
  996.  
  997.              A disadvantage  of this approach  is that the  number  of
  998.  
  999.         external  addresses  available  is limited  to those for which
  1000.  
  1001.         mappings   have  been  previously   defined   and   installed.
  1002.  
  1003.         Typically   only  a  small  fraction  of  remote  parties  are
  1004.  
  1005.         supported.   Another  disadvantage  is that the same party has
  1006.  
  1007.         different  addresses  in different  domains--the  directory of
  1008.  
  1009.         names  to addresses  has many entries  for each name,  one for
  1010.  
  1011.         each domain  supporting  that party.   The major advantage  is
  1012.  
  1013.         that for those names supported,  the users may address  remote
  1014.  
  1015.         parties  in exactly  the same fashion  as local  ones, with no
  1016.  
  1017.         additional procedures.
  1018.  
  1019.              In source routing [14,17,5], the source specifies a route
  1020.  
  1021.         to reach  the  destination  consisting  of  the  addresses  of
  1022.  
  1023.         successive  inter-domain  gateways,  and ending with the final
  1024.  
  1025.  
  1026.                                    -19-
  1027.  
  1028.  
  1029.         destination.   Each address in this list is interpreted within
  1030.  
  1031.         a domain  where it is meaningful, and then removed so that the
  1032.  
  1033.         next address is available in the next domain transitted.
  1034.  
  1035.              Using this method,  the full range of remote  parties  is
  1036.  
  1037.         accessable,  and the inter-domain  gateways  do  not  have  to
  1038.  
  1039.         maintain   any  predefined   mappings   or   perform   address
  1040.  
  1041.         conversions.   The burden  is shifted to the source which must
  1042.  
  1043.         know enough  about the overall topology and address formats to
  1044.  
  1045.         construct a successful source route.  Of course packet headers
  1046.  
  1047.         become  bigger,  and packet processing increases to accomodate
  1048.  
  1049.         the variable  length source routes.  Once again, the "address"
  1050.  
  1051.         of a given  party varies from one domain to another, but it is
  1052.  
  1053.         now possible  to combine  this information--if  the  directory
  1054.  
  1055.         gives  the source  route  to X from  domain  A,  and a user in
  1056.  
  1057.         domain B knows a route to domain A, he can concatenate them to
  1058.  
  1059.         get a route  to X from  B (although  it may not be an  optimal
  1060.  
  1061.         route).
  1062.  
  1063.              It is often  useful to collect a return route at the same
  1064.  
  1065.         time the source  route is being  consumed.   This  allows  the
  1066.  
  1067.         destination  to reply.   In general  the return  route is  not
  1068.  
  1069.         simply  the inverse of the source route.  The return addresses
  1070.  
  1071.         are  added  as  the  packet  enters  each  domain,  while  the
  1072.  
  1073.         successive  destination  addresses  are removed  as the packet
  1074.  
  1075.         exits each domain (see [17] for a detailed example).
  1076.  
  1077.              The  "network   independent"   transport   protocol   [2]
  1078.  
  1079.  
  1080.                                    -20-
  1081.  
  1082.  
  1083.         developed  by the British  PSS Users Forum is one of the first
  1084.  
  1085.         to explicitly deal with the problem of multiple domains.  They
  1086.  
  1087.         suggest  essentially  a source  routing  mechanism.  There are
  1088.  
  1089.         additional  provisions  for translating  explicitly identified
  1090.  
  1091.         address  information  transmitted  as data between  end users.
  1092.  
  1093.         The protocol  assumes  a route setup procedure as part of call
  1094.  
  1095.         establishment so that the source route need only be carried in
  1096.  
  1097.         the call request packet.
  1098.  
  1099.              The public networks have also provided for a limited form
  1100.  
  1101.         of source  routing  in the Call User Data field  of X.25  call
  1102.  
  1103.         request  packets.   This field may be used by the  destination
  1104.  
  1105.         DTE as additional  address information for subsequent steps in
  1106.  
  1107.         a call.   This mechanism was used to allow international calls
  1108.  
  1109.         between   Canadian   and  US  public   networks   before   the
  1110.  
  1111.         hierarchical  X.121 numbering  plan was put into effect  [12].
  1112.  
  1113.         The Call User Data field is also beginning to be used in an ad
  1114.  
  1115.         hoc fashion  to  provide  addressing  within  various  private
  1116.  
  1117.         and/or local nets connected to public nets.
  1118.  
  1119.              The Arpa Internet Protocol also supports a source routing
  1120.  
  1121.         option,  but addresses within the route are all expected to be
  1122.  
  1123.         IP format addresses [11].
  1124.  
  1125.  
  1126.      Conclusions
  1127.  
  1128.              We have identified  a number  of problems  that  must  be
  1129.  
  1130.         considered  in going beyond  the simple network interconection
  1131.  
  1132.         techniques  that are in use today.   The significance of these
  1133.  
  1134.  
  1135.                                    -21-
  1136.  
  1137.  
  1138.         problems  is just beginning  to  be  widely  percieved.   Some
  1139.  
  1140.         preliminary solutions have been proposed, but little practical
  1141.  
  1142.         experience exists.  Much work remains to be done in clarifying
  1143.  
  1144.         the problems, and in developing and evaluating solutions.
  1145.  
  1146.  
  1147.      Acknowledgements
  1148.  
  1149.              Many of the concepts  presented  in this paper have  been
  1150.  
  1151.         discussed  over several  years as part of  the  ARPA  Internet
  1152.  
  1153.         project.   Much of the credit  for developing  and  clarifying
  1154.  
  1155.         these  ideas  belongs  to my colleagues  at ISI and the  other
  1156.  
  1157.         sites engaged in this project.
  1158.  
  1159.  
  1160.      References
  1161.  
  1162.         Note:  Several  of the references  listed  below are  Internet
  1163.         Experiment  Notes,  unpublished  memos written  for  the  ARPA
  1164.         Internet project.
  1165.  
  1166.         [1]  D. R. Boggs, J. F. Shoch, E. A. Taft, and R. M. Metcalfe,
  1167.              "Pup:  An  Internetwork  Architecture,"  IEEE  Trans.  on
  1168.              Communications 28, 4, April 1980, pp. 612-623.
  1169.  
  1170.         [2]  British Post Office PSS User Forum, A Network Independent
  1171.              Transport Service, February 1980.
  1172.  
  1173.         [3]  V.  G. Cerf, Internet Addressing and Naming in a Tactical
  1174.              Environment, Internet Experiment Note 110, August 1979.
  1175.  
  1176.         [4]  V.  G. Cerf and P. T. Kirstein, "Issues in Packet-Network
  1177.              Interconnection,"  Proc.  IEEE 66, 11, November 1978, pp.
  1178.              1386-1408.
  1179.  
  1180.         [5]  D.  D.  Clark and D. Cohen, A Proposal for Addressing and
  1181.              Routing  in the Internet,  Internet  Experiment  Note 46,
  1182.              June 1978.
  1183.  
  1184.         [6]  R.  E.  Kahn,  S.  A. Gronemeyer, J. Burchfiel, and R. C.
  1185.              Kunzelman,  "Advances  in Packet Radio Technology," Proc.
  1186.              IEEE 66, 11, November 1978, pp. 1468-1496.
  1187.  
  1188.  
  1189.                                    -22-
  1190.  
  1191.  
  1192.         [7]  H.  A.  Nelson, J. E. Mathis, and J. M. Lieb, The ARPANET
  1193.              IMP Port Expander, SRI Report 1080-140-1, November 1980.
  1194.  
  1195.         [8]  R.  Perlman, Flying Packet Radios and Network Partitions,
  1196.              Internet Experiment Note 146, June 1980.
  1197.  
  1198.         [9]  R.  Perlman,  Utilizing  Internet  Routes  as Expressways
  1199.              Through  Slow Nets,  Internet  Experiment  Note 147, June
  1200.              1980.
  1201.  
  1202.         [10] J.  B.  Postel,  "Internetwork Protocol Approaches," IEEE
  1203.              Trans. on Communications 28, 4, April 1980, pp. 604-611.
  1204.  
  1205.         [11] J.  B.  Postel,  C.  A. Sunshine, and D. Cohen, "The ARPA
  1206.              Internet Protocol," to appear in Computer Networks, 1981.
  1207.  
  1208.         [12] A.  M.  Rybczynski,  D.  F.  Weir,  and I. M. Cunningham,
  1209.              "Datapac  Internetworking  for  International  Services,"
  1210.              Proc. 4th Int. Conf. on Computer Communication, September
  1211.              1978, pp. 47-56.
  1212.  
  1213.         [13] A. M. Rybczinski, J. D. Palframan, and A. Thomas, "Design
  1214.              of the Datapac  X.75 Internetworking  Capability,"  Proc.
  1215.              5th Int.  Conf.  on Computer Communication, October 1980,
  1216.              pp. 735-740.
  1217.  
  1218.         [14] J.  F.  Shoch,  "Inter-Network  Naming,  Addressing,  and
  1219.              Routing,"  Proc.  17th IEEE Computer  Society Int. Conf.,
  1220.              September 1978, pp. 72-79.
  1221.  
  1222.         [15]  J.   F.  Shoch,  D.  Cohen,  and  E.  A.  Taft,  "Mutual
  1223.              Encapsulation  of Internetwork  Protocols,"  to appear in
  1224.              Computer Networks, 1981.
  1225.  
  1226.         [16] C.  A.  Sunshine, "Interconnection of Computer Networks,"
  1227.              Computer Networks 1, 3, January 1977, pp. 175-195.
  1228.  
  1229.         [17] C.  A.  Sunshine,  "Source Routing in Computer Networks,"
  1230.              ACM SIGCOMM  Computer  Communication  Rev.  7, 1, January
  1231.              1977, pp. 29-33.
  1232.  
  1233.         [18] C.  A. Sunshine and J. B. Postel, Addressing Mobile Hosts
  1234.              in the ARPA  Internet  Environment,  Internet  Experiment
  1235.              Note 135, March 1980.
  1236.  
  1237.         [19] D.  F. Weir, J. B. Holmblad, and A. C. Rothberg, "An X.75
  1238.              Based Network  Architecture,"  Proc.  5th Int.  Conf.  on
  1239.              Computer Communication, October 1980, pp. 741-750.
  1240.